package com.neuedu.His02.service.outpatientDoctorWorkStationService;

import com.neuedu.His02.entity.MedicalRecord;
import com.neuedu.His02.entity.Register;
import com.neuedu.His02.entity.User;
import com.neuedu.His02.entity.recordTemplate.RecordTemplate;
import com.neuedu.His02.util.ResultUtil;

import java.util.List;

public interface OutpatientMedicalRecordHomePageService {
    /**
     * 初始化待诊患者列表
     * @param user
     * @return
     */
    public List<Register> initPatients(User user);

    /**
     * 初始化已诊患者列表
     * @param user
     * @return
     */
    public List<Register> initHistoryPatients(User user);

    /**
     * 根据姓名搜索患者
     * @param user
     * @return
     */
    public List<Register> searchByName(Register user);

    /**
     * 根据病历号搜索患者
     * @param user
     * @return
     */
    public List<Register> searchByNumber(Register user);
    /**
     * 查看数据库里是否有挂号记录
     * @param user
     * @return
     */
    public MedicalRecord recordIsExist(MedicalRecord user);

    /**
     * 新增记录
     * @param user
     */
    public void insertRecord(MedicalRecord user);

    /**
     * 更新记录
     * @param user
     */
    public void updateRecord(MedicalRecord user);
    /**
     *  更新挂号表字段
     * @param medicalRecord
     */
    public void updateRegister(MedicalRecord medicalRecord);
    /**
     *  初始化患者病历首页
     * @param user
     * @return
     */
    public MedicalRecord getRecord(MedicalRecord user);

    /**
     * 添加病历模板
     * @param recordTemplate
     */
    public void commitTemplate(RecordTemplate recordTemplate);

    /**
     * 删除病历模板
     * @param recordTemplate
     */
    public void deleteRecordTemplate(RecordTemplate recordTemplate);

    /**
     * 生成病历模板(个人)
     * @param user
     */
    public List<RecordTemplate> getRecordTemplatePersonally(User user);
    /**
     * 生成病历模板(科室)
     * @param user
     * @return
     */
    public List<RecordTemplate> getRecordTemplateByDepartment(User user);
    /**
     * 生成病历模板(全院)
     * @param
     * @return
     */
    public List<RecordTemplate>getRecordTemplateByHospital();
    /**
     * 根据病历号查询身份证号
     * @param register
     * @return
     */
    public String searchIDNumber(Register register);

    public List<Register> searchRegister(String string);

    public MedicalRecord historyRegisterDetail(Register register);

    public MedicalRecord searchHostory(Register register);

    public String searchDeptName(Register register);

}
